import { commonProps } from "../../libs/config";


export const textareaProps = {
	...commonProps,
	// 输入框的内容
	modelValue: {
		type: [String, Number]
	},
	// 输入框为空时占位符
	placeholder: {
		type: [String, Number]
	},
	// 指定placeholder的样式类，注意页面或组件的style中写了scoped时，需要在类名前写.deep
	placeholderClass: {
		type: String
	},
	// 指定placeholder的样式
	placeholderStyle: {
		type: [String, Object]
	},
	// 输入框高度
	height: {
		type: [String, Number]
	},
	// 设置键盘右下角按钮的文字，仅微信小程序，App-vue和H5有效
	confirmType: {
		type: String
	},
	// 是否禁用
	disabled: {
		type: Boolean,
		default:null
	},
	// 是否显示统计字数
	count: {
		type: Boolean,
		default:null
	},
	// 是否自动获取焦点，nvue不支持，H5取决于浏览器的实现
	focus: {
		type: Boolean,
		default:null
	},
	// 是否自动增加高度
	autoHeight: {
		type: Boolean,
		default:null
	},
	// 如果textarea是在一个position:fixed的区域，需要显示指定属性fixed为true
	fixed: {
		type: Boolean,
		default:null
	},
	// 指定光标与键盘的距离
	cursorSpacing: {
		type: Number
	},
	// 指定focus时的光标位置
	cursor: {
		type: [String, Number]
	},
	// 是否显示键盘上方带有”完成“按钮那一栏，
	showConfirmBar: {
		type: Boolean,
		default:null
	},
	// 光标起始位置，自动聚焦时有效，需与selection-end搭配使用
	selectionStart: {
		type: Number
	},
	// 光标结束位置，自动聚焦时有效，需与selection-start搭配使用
	selectionEnd: {
		type: Number
	},
	// 键盘弹起时，是否自动上推页面
	adjustPosition: {
		type: Boolean,
		default:null
	},
	// 是否去掉 iOS 下的默认内边距，只微信小程序有效
	disableDefaultPadding: {
		type: Boolean,
		default:null
	},
	// focus时，点击页面的时候不收起键盘，只微信小程序有效
	holdKeyboard: {
		type: Boolean,
		default:null
	},
	// 最大输入长度，设置为 -1 的时候不限制最大长度
	maxlength: {
		type: [String, Number]
	},
	// 边框类型，surround-四周边框，bottom-底部边框
	border: {
		type: String
	},
	// 用于处理或者过滤输入框内容的方法
	formatter: {
		type: Function
	}

}

export const textareaEmits = {
	blur: (value: any) => true,
	focus: () => true,
	confirm: (value: string | number) => true,
	keyboardheightchange: () => true,
	"update:modelValue": (value: string | number) => true,
	input: (value: string | number) => true,
	change: (value: string | number) => true,
	clear: () => true,
	linechange: (value: any) => true,
};